Products and systems that rely on software code need to undergo maintenance every so often. Maintenance may involve adding new features to the software, adapting the software requirements or fixing errors in the software. Such maintenance may be very cost intensive.
The maintenance state of a product or system involving software code may be expressed in terms of “costs of changes”, i.e. how much effort will have to be spent on the implementation of new features or removing of defects in the software code. In order to judge the maintenance state and, in turn, the quality of the software code, a measure for maintainability of a product or system with respect to its software is generally desirable.